[INFO] cloning repository https://github.com/cmsd2/ted
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cmsd2/ted" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmsd2%2Fted", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmsd2%2Fted'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d50db43b80179cb380b554ee5e7dd7ed69af8347
[INFO] fixing cmsd2/ted against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcmsd2%2Fted" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cmsd2/ted
[INFO] finished tweaking git repo https://github.com/cmsd2/ted
[INFO] tweaked toml for git repo https://github.com/cmsd2/ted written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cmsd2/ted on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cmsd2/ted already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3
[INFO] running `Command { std: "docker" "start" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]    Compiling autocfg v0.1.6
[INFO] [stderr]     Checking cfg-if v0.1.9
[INFO] [stderr]    Compiling bitflags v1.1.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling arrayvec v0.4.11
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling proc-macro2 v1.0.2
[INFO] [stderr]     Checking nodrop v0.1.13
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]     Checking piston-float v1.0.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]     Checking crossbeam-utils v0.6.6
[INFO] [stderr]     Checking piston-viewport v1.0.0
[INFO] [stderr]     Checking scopeguard v1.0.0
[INFO] [stderr]    Compiling serde v1.0.99
[INFO] [stderr]    Compiling cc v1.0.41
[INFO] [stderr]     Checking piston-graphics_api_version v0.2.0
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling rayon-core v1.6.0
[INFO] [stderr]     Checking crossbeam-queue v0.1.2
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]     Checking adler32 v1.0.3
[INFO] [stderr]    Compiling num-traits v0.2.8
[INFO] [stderr]    Compiling num-integer v0.1.41
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]     Checking either v1.5.2
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking lzw v0.10.0
[INFO] [stderr]     Checking inflate v0.4.5
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]     Checking stb_truetype v0.2.6
[INFO] [stderr]     Checking deflate v0.7.20
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]     Checking color_quant v1.0.1
[INFO] [stderr]     Checking draw_state v0.8.0
[INFO] [stderr]    Compiling quote v1.0.2
[INFO] [stderr]    Compiling gl_generator v0.10.0
[INFO] [stderr]    Compiling cmake v0.1.42
[INFO] [stderr]     Checking gif v0.10.2
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking num_cpus v1.10.1
[INFO] [stderr]     Checking png v0.15.0
[INFO] [stderr]     Checking shader_version v0.6.0
[INFO] [stderr]     Checking vecmath v1.0.0
[INFO] [stderr]     Checking piston-texture v0.7.0
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking interpolation v0.2.0
[INFO] [stderr]     Checking scoped_threadpool v0.1.9
[INFO] [stderr]     Checking read_color v1.0.0
[INFO] [stderr]     Checking piston-shaders_graphics2d v0.3.1
[INFO] [stderr]     Checking snowflake v1.3.0
[INFO] [stderr]     Checking rayon v1.2.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking ordered-float v1.0.2
[INFO] [stderr]    Compiling glfw-sys v3.3.0
[INFO] [stderr]    Compiling gl v0.11.0
[INFO] [stderr]     Checking rusttype v0.7.7
[INFO] [stderr]     Checking piston2d-graphics v0.34.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.16
[INFO] [stderr]    Compiling serde_derive v1.0.99
[INFO] [stderr]    Compiling derivative v1.0.3
[INFO] [stderr]     Checking glfw v0.31.0
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]     Checking gfx_core v0.9.1
[INFO] [stderr]     Checking image v0.22.1
[INFO] [stderr]     Checking gfx v0.18.1
[INFO] [stderr]     Checking pistoncore-input v0.28.0
[INFO] [stderr]     Checking piston2d-opengl_graphics v0.68.0
[INFO] [stderr]     Checking pistoncore-window v0.44.0
[INFO] [stderr]     Checking pistoncore-event_loop v0.49.0
[INFO] [stderr]     Checking pistoncore-glfw_window v0.60.0
[INFO] [stderr]     Checking piston v0.49.0
[INFO] [stderr]     Checking hello-piston v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2018 edition to 2021
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.50s
[INFO] [stderr] crater-edition-check: hello-piston v0.1.0 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking hello-piston v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `piston::input::keyboard::ModifierKey`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::input::keyboard::ModifierKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::Graphics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use graphics::Graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::context::Context`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphics::context::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color` and `FontSize`
[INFO] [stdout]   --> src/main.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use graphics::types::{Color, FontSize};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]   --> src/app.rs:12:47
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::grid::{Drawable, View, Grid, Size, Pos};
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use commands::{Commands};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::input::keyboard::ModifierKey`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::input::keyboard::ModifierKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::Graphics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use graphics::Graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::context::Context`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphics::context::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color` and `FontSize`
[INFO] [stdout]   --> src/main.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use graphics::types::{Color, FontSize};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]   --> src/app.rs:12:47
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::grid::{Drawable, View, Grid, Size, Pos};
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use commands::{Commands};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Drawable`
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::character::CharacterCache`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use graphics::character::CharacterCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Drawable`
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::character::CharacterCache`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use graphics::character::CharacterCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let mut view = Rc::new(RefCell::new(View::new(grid.clone(), pos, size).boxed()));
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove` and `clear` are never used
[INFO] [stdout]   --> src/chords.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl <A> ChordTree<A> where A: Debug {
[INFO] [stdout]    | ------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn remove<'a, K>(&mut self, keys: K) where K: IntoIterator<Item=&'a ChordKey> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `grid_size` is never used
[INFO] [stdout]    --> src/app.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl <'a> App<'a> {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn grid_size(&self) -> (u32, u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]    --> src/app.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const RED:   [f32; 4] = [1.0, 0.0, 0.0, 1.0];
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let mut view = Rc::new(RefCell::new(View::new(grid.clone(), pos, size).boxed()));
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove` and `clear` are never used
[INFO] [stdout]   --> src/chords.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl <A> ChordTree<A> where A: Debug {
[INFO] [stdout]    | ------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn remove<'a, K>(&mut self, keys: K) where K: IntoIterator<Item=&'a ChordKey> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `grid_size` is never used
[INFO] [stdout]    --> src/app.rs:220:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl <'a> App<'a> {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     fn grid_size(&self) -> (u32, u32) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RED` is never used
[INFO] [stdout]    --> src/app.rs:140:15
[INFO] [stdout]     |
[INFO] [stdout] 140 |         const RED:   [f32; 4] = [1.0, 0.0, 0.0, 1.0];
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.93s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2018 edition to 2021
[INFO] [stderr]     Checking hello-piston v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 126 |                 let (pos, size) = {
[INFO] [stdout] 127 |                     let window = window.borrow();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `window` calls a custom destructor
[INFO] [stdout]     |                         `window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `window` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                   --^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                                   | |
[INFO] [stdout]     |                                   | this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     while let Some(e) = events.next(&mut window) {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `e` calls a custom destructor
[INFO] [stdout]     |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |         let mut app = event_app.borrow_mut();
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `app` calls a custom destructor
[INFO] [stdout]     |             `app` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |             let mut prompt_window = prompt_window.borrow_mut();
[INFO] [stdout]     |                 -----------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `prompt_window` calls a custom destructor
[INFO] [stdout]     |                 `prompt_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `prompt_window` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                     up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 126 |                 let (pos, size) = {
[INFO] [stdout] 127 |                     let window = window.borrow();
[INFO] [stdout]     |                         ------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `window` calls a custom destructor
[INFO] [stdout]     |                         `window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 133 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `window` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:1582:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                   --^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                                   | |
[INFO] [stdout]     |                                   | this temporary value will be dropped at the end of the block
[INFO] [stdout]     |                                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:123:25
[INFO] [stdout]     |
[INFO] [stdout] 123 |     while let Some(e) = events.next(&mut window) {
[INFO] [stdout]     |                    -    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                    |    |
[INFO] [stdout]     |                    |    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                    |    up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                    `e` calls a custom destructor
[INFO] [stdout]     |                    `e` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 126 |         let mut app = event_app.borrow_mut();
[INFO] [stdout]     |             -------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `app` calls a custom destructor
[INFO] [stdout]     |             `app` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 131 |             let mut prompt_window = prompt_window.borrow_mut();
[INFO] [stdout]     |                 -----------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `prompt_window` calls a custom destructor
[INFO] [stdout]     |                 `prompt_window` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 146 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `e` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `app` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout] note: `prompt_window` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/core/src/cell.rs:2050:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.70s
[INFO] [stderr] crater-edition-check: hello-piston v0.1.0 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking hello-piston v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `piston::input::keyboard::ModifierKey`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::input::keyboard::ModifierKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::Graphics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use graphics::Graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::context::Context`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphics::context::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color` and `FontSize`
[INFO] [stdout]   --> src/main.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use graphics::types::{Color, FontSize};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]   --> src/app.rs:12:47
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::grid::{Drawable, View, Grid, Size, Pos};
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use commands::{Commands};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `piston::input::keyboard::ModifierKey`
[INFO] [stdout]  --> src/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use piston::input::keyboard::ModifierKey;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::Graphics`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use graphics::Graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::context::Context`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use graphics::context::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color` and `FontSize`
[INFO] [stdout]   --> src/main.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 | use graphics::types::{Color, FontSize};
[INFO] [stdout]    |                       ^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Pos`
[INFO] [stdout]   --> src/app.rs:12:47
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::grid::{Drawable, View, Grid, Size, Pos};
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Commands`
[INFO] [stdout]   --> src/main.rs:26:16
[INFO] [stdout]    |
[INFO] [stdout] 26 | use commands::{Commands};
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `View`
[INFO] [stdout]   --> src/main.rs:27:22
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Drawable`
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::character::CharacterCache`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use graphics::character::CharacterCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let mut view = Rc::new(RefCell::new(View::new(grid.clone(), pos, size).boxed()));
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                   --^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                                   | |                              |
[INFO] [stdout]     |                                   | |                              temporary value is freed at the end of this statement
[INFO] [stdout]     |                                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Drawable`
[INFO] [stdout]   --> src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | use grid::{Drawable, View};
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graphics::character::CharacterCache`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use graphics::character::CharacterCache;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |                 let mut view = Rc::new(RefCell::new(View::new(grid.clone(), pos, size).boxed()));
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/app.rs:125:37
[INFO] [stdout]     |
[INFO] [stdout] 125 |             if let Some(window) = { windows.borrow_mut().get(wnd_id) } {
[INFO] [stdout]     |                                   --^^^^^^^^^^^^^^^^^^^^--------------
[INFO] [stdout]     |                                   | |                              |
[INFO] [stdout]     |                                   | |                              temporary value is freed at the end of this statement
[INFO] [stdout]     |                                   | creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                   borrow later used here
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hello-piston` (bin "hello-piston" test) due to 1 previous error; 11 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hello-piston` (bin "hello-piston") due to 1 previous error; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3", kill_on_drop: false }`
[INFO] [stdout] 2b58f987a107ac02417dee17af4677632b04c4f3236c60e80dde20f502e6afb3
